#!/bin/bash

# Copyright 2025 The KServe Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# ============================================================================
# Global Variables 
# ============================================================================

# KEDA (Kubernetes Event-Driven Autoscaling)
KEDA_NAMESPACE="${KEDA_NAMESPACE:-keda}"

# KServe
KSERVE_NAMESPACE="${KSERVE_NAMESPACE:-kserve}"

# OpenTelemetry
OTEL_NAMESPACE="${OTEL_NAMESPACE:-opentelemetry-operator}"

# Knative Operator
OPERATOR_NAMESPACE="${OPERATOR_NAMESPACE:-knative-operator}"

# Knative Serving
SERVING_NAMESPACE="${SERVING_NAMESPACE:-knative-serving}"

# Istio
ISTIO_NAMESPACE="${ISTIO_NAMESPACE:-istio-system}"

# Gateway (for KServe ingress)
GATEWAY_NAMESPACE="${GATEWAY_NAMESPACE:-kserve}"

# KServe Configuration
DEPLOYMENT_MODE="${DEPLOYMENT_MODE:-Knative}"
GATEWAY_NETWORK_LAYER="${GATEWAY_NETWORK_LAYER:-false}"
LLMISVC="${LLMISVC:-false}"
EMBED_MANIFESTS="${EMBED_MANIFESTS:-false}"

# Custom configurations for inferenceservice-config ConfigMap
# Format: key1=value1|key2=value2|...
# Example: KSERVE_CUSTOM_ISVC_CONFIGS="ingress.domainTemplate=custom.com|logger.defaultUrl=http://logger"
KSERVE_CUSTOM_ISVC_CONFIGS="${KSERVE_CUSTOM_ISVC_CONFIGS:-}"
